nAG Fortran コンパイラ 7.1 マニュアル

 
ナビゲーション:前へ   上へ   次へ

2.25 拡張ソース整形

拡張ソース整形は一連のFortranソース・ファイル(固定形式でも自由形式でも良い)を処理し、 それぞれについて、それらの整形された結果を自由形式で出力します。 Cファイル及びFPPにより処理されたファイルは整形できません。 通常の(拡張ではない)ソース整形の場合とは異なり、 拡張ソース整形ではFortranソース・ファイルがエラー無しでコンパイルできるものでなければなりません。

拡張ソース整形は以下のコンパイラ・オプションをコンパイル時と同じ意味として解釈します。 -132, -abi, -dcfuns, -double, -dryrun, -dusty, -encoding, -english, -f2003, -f2008, -f95, -fixed, -free, -help, -I, -i8, -indirect, -info, -kind, -max_parameter_size, -maxcontin, -mismatch, -mismatch_all, -nihongo, -nocheck_modtime, -nomod, -noqueue, -o, -openmp, -Qpath, -r8, -strict95, -tempdir, -thread_safe, -u, -u=sharing, -v, -V, -w and -xlicinfo.

拡張ソース整形は-idcase=Asisを除く全てのソース整形オプションを含みます。

nagfor =polishの場合とは異なり、 -name_scopes=Asisを指定した際の振る舞いは、 -name_scopes=Keywords(デフォルト)を指定したかのようになります。 同様に、-array_constructor_brackets=Asisを指定した際の振る舞いは、 -array_constructor_brackets=ParenSlash(デフォルト)を指定したかのようになります。 -dcolon_in_decls=Asisも同様に、 -dcolon_in_decls=Insert(デフォルト)を指定したかのようになります。

-oオプションが指定されなかった場合に使われる、 デフォルトの出力ファイル名の拡張子は‘.f90_epo’です。

以下の追加オプションで本ツールの処理を制御します。

-add_arg_keywords
明示的な引用仕様を持ち、且つ2つ以上の仮引数を持つユーザ定義の手続き、 及び3つ以上の仮引数を持つ組込みモジュール手続き(例外:MAX及びMIN)の参照において、 実引数にキーワードを追加します。

文番号引数が後に続く引数にはキーワードは追加されません。 引数の順序は変更されません。

本オプションは-add_arg_keywords=all2,intrinsic3と同等です。

-add_arg_keywords=proc_class_list
proc_class_listで示される一連の手続きで、 手続きが明示的な引用仕様宣言を持つ場合に、 手続き参照における実引数にキーワードを追加します。 it{proc_class_list}はカンマ区切りで、以下を含める事ができます。

all (一連の全ての手続き),
bound (実体結合手続き、及び型結合手続き),
dummy (仮手続き),
external (外部手続き),
internal (内部手続),
intrinsic (組込み手続き及び組込みモジュール手続き),
module (非組込みモジュール手続き),
user (組込み手続きと組込みもジュール手続き以外の手続き).

文番号引数が後に続く引数にはキーワードは追加されません。 引数の順序は変更されません。 手続きポインタ成分は“実体結合手続き”としても知られていて、 -add_arg_keywords=boundに含まれます。 名前付き手続きポインタは外部手続きとして取り扱われます。 従って-add_arg_keywords=externalに含まれます。

サブオプションの名前にはゼロではない数字一文字を付加できます。 例)“intrinsic3” このサブオプションによって、指定された数以上の仮引数をもつ手続きについてのみ、 キーワードが追加されます。 型結合手続き及び実体結合手続きについては、 渡される実体の仮引数は、この数に含まれません。(引数並びに出現しないので) 組込み関数MAX及びMINは代わりに実引数の数を用います。

サブオプション名+数字一文字に続いて‘a’が続く場合(“intrinsic3a”等)、 引数の制限は、手続き参照における実引数の数に対して適用されるのであって、 仮引数の数に対してではありません。(実引数の数は、省略可能な引数が省略された場合、 仮引数の数より小さくなります)

サブオプションは左から右へ解釈されるので、 後から指定したサブオプションが、 先に指定されたサブオプションを上書きする事に注意して下さい。

-case:kind=case-list
特定の種類の名前に関しての文字の種類に関するルールを指定します。 このオプションは、-casexを除く他の文字種に関するオプションをオーバーライドします。 コロンの後には、“kind=case”のカンマ区切りのリストが続きます。 ここで、caseは大文字小文字の指定(UPPERCASElowercaseCapitalisedCamel_Case)で、kindは、以下にリストされているカテゴリの1つです。

comp Component
constr Construct name
intr Intrinsic procedure
param PARAMETER
proc Procedure
tbp Type-bound procedure
tparam Derived type parameter
type Derived type
var Variable

たとえば、-case:var=lower、proc=uは、変数に小文字を指定し、手続きに大文字を指定します。 特定の種類の名前の設定がない場合は、適切なカテゴリにフォールバックします。 paramtypecomptparamprocはすべてvarにフォールバックします。 intrprocにフォールバックし、tbpcompまたはprocにフォールバックします。 ルールまたはフォールバックルールがない場合は、-idcase=オプション設定(またはデフォルト)が使用されます。

-casex:name-list
文字の種類のルールの例外を指定します。 コロンの後には、必要な場合に応じて、名前のカンマ区切りリストが続きます。 たとえば、-casex:MaxVal,XYzは、maxvalまたはxyzと同等の名前が出現するたびに、 それぞれMaxValまたはXYzとして表示されます。
-intrinsic_case=analogy
組込み手続き名の大文字小文字種別を、 他の名前(as_names)と同じにするか、 もしくは言語キーワード(as_keywords)と同じにするかを指定します。 デフォルトは-intrinsic_case=as_namesです。
-remove_intrinsic_stmts
実引数として渡されなかった組込み手続き名を INTRINSIC文から削除します。 またその際に、全てのINTRINSIC文がこのように削除された場合、 INTRINSIC文そのものも削除します。 INTRINSIC文に関連するコメントは削除されません。
© 日本ニューメリカルアルゴリズムズグループ株式会社 2025
Privacy Policy  /  Trademarks